#ifndef COMMITTEE_H
#define COMMITTEE_H

#include <string>
#include <iostream>
#include "CsvRow.h"

class Committee
{
public:
  Committee(const std::string& id, const std::string& aim):
    m_id(id),
    m_aim(aim)
  {
  }

  Committee() {}

  virtual ~Committee()
  {
  }

  const std::string id() const { return m_id; }
  const std::string aim() const { return m_aim; }

  bool empty() const { return m_id.empty() && m_aim.empty(); }

  Committee& operator=(const Committee& other);
  bool operator==(const Committee& other) const;

private:
  std::string m_id;
  std::string m_aim;
};

std::ostream& operator<<(std::ostream& stream, const Committee &committee);
std::istream& operator>>(std::istream& stream, Committee& committee);

#endif // COMMITTEE_H